File Opening in Various Modes and Closing of a File in Python in Hindi
Table of Contents
2. File Modes in Python in Hindi – r, w, a, r+, w+, a+, rb, wb
6. Advantages of Using with Statement for File Handling in Python in Hindi
Opening a File in Hindi – File Kaise Open Karein?
अब तक हमने जो भी data इस्तेमाल किया, वो program खत्म होते ही खत्म हो जाता था, लेकिन असली दुनिया में हमें data को permanently save करना पड़ता है, इसी काम के लिए Python में Files इस्तेमाल की जाती हैं। और File पर कोई भी काम करने से पहले, सबसे पहला step होता है – उसे Open करना।
Python में किसी भी file को खोलने के लिए एक built-in function दिया गया है –
open(), इसकी मदद से आप किसी existing file को खोल सकते हैं, या फिर एक नई file भी बना सकते हैं।Basic syntax कुछ इस तरह होता है:
file_object = open("filename.txt", "mode")
यहां
filename.txtउस file का नाम है जिसे आप खोलना चाहते हैं, औरmodeयह बताता है कि आप उस file पर क्या करना चाहते हैं – सिर्फ पढ़ना है, लिखना है, या फिर उसमें कुछ add करना है।अगर आप
modeबिल्कुल भी नहीं देते, तो Python by default उसे Read Mode ("r") में ही खोल देता है।
file = open("students.txt", "r")
content = file.read()
print(content)
file.close()
इस example में हमने students.txt नाम की file को Read Mode में खोला, उसका पूरा content read() function की मदद से पढ़ा, और आखिर में उसे close() कर दिया, ताकि file properly बंद हो जाए।
File Modes in Python in Hindi – r, w, a, r+, w+, a+, rb, wb
अब सबसे important हिस्से की बात करते हैं – File Modes। ये modes ही decide करते हैं कि file के साथ आप exactly क्या कर पाएंगे, इसलिए इन्हें अच्छे से याद रखना बहुत जरूरी है।
यह diagram Python के सभी main File Modes को एक साथ दिखाता है – r, w, a जैसे text modes, r+, w+, a+ जैसे combined modes, और rb, wb जैसे binary modes, ताकि आपको एक ही नज़र में सबका इस्तेमाल याद रह जाए।
1. 'r' – Read Mode:
यह default mode है, इसमें file सिर्फ पढ़ने के लिए खुलती है, अगर file exist ही न करे तो FileNotFoundError आ जाएगी।
file = open("data.txt", "r")
print(file.read())
file.close()
2. 'w' – Write Mode:
इसमें file लिखने के लिए खुलती है, अगर file पहले से मौजूद है, तो उसका पुराना content पूरी तरह मिट जाता है, और अगर file मौजूद न हो, तो एक नई file बन जाती है।
file = open("data.txt", "w")
file.write("Yeh naya content hai")
file.close()
3. 'a' – Append Mode:
इसमें भी लिखने की सुविधा मिलती है, लेकिन पुराना content नहीं मिटता, नया data हमेशा file के आखिर में जोड़ (append) दिया जाता है।
file = open("data.txt", "a")
file.write("\nYeh line add ho rahi hai")
file.close()
4. 'r+' – Read aur Write Dono:
इससे आप file को पढ़ भी सकते हैं और लिख भी सकते हैं, लेकिन file पहले से exist होनी जरूरी है, वरना error आएगी।
5. 'w+' – Write aur Read Dono:
यह भी पढ़ने-लिखने दोनों की सुविधा देता है, लेकिन 'w' mode की तरह ही, पहले से मौजूद पूरा content मिटा देता है।
6. 'a+' – Append aur Read Dono:
इसमें data हमेशा file के आखिर में जुड़ता है (जैसे 'a' mode में), लेकिन साथ ही file को पढ़ने की सुविधा भी मिल जाती है।
7. 'rb' aur 'wb' – Binary Modes:
यह दोनों modes text files के लिए नहीं, बल्कि images, videos या PDF जैसी binary files को पढ़ने (rb) और लिखने (wb) के लिए इस्तेमाल किए जाते हैं।
image = open("photo.jpg", "rb")
data = image.read()
image.close()
Difference Between r, w, a, r+ Modes (Table) in Hindi
| Mode | Kaam | File Exist Na Ho To | Purana Content |
|---|---|---|---|
| r | Sirf padhna | Error aati hai (FileNotFoundError) | Surakshit rehta hai |
| w | Sirf likhna | Nayi file ban jaati hai | Poori tarah mit jaata hai |
| a | Aakhir mein add karna | Nayi file ban jaati hai | Surakshit rehta hai, naya data uske baad jud jaata hai |
| r+ | Padhna aur likhna dono | Error aati hai (FileNotFoundError) | Surakshit rehta hai (jab tak explicitly overwrite na kiya jaaye) |
Exam में याद रखने का सबसे आसान तरीका यह है – 'r' sirf padhne ke liye hai, 'w' hamesha saaf-suthri shuruaat karta hai (purana sab mita deta hai), aur 'a' hamesha purani baat ko respect karte hue naya data uske aage jodta hai।
Closing a File in Hindi – File Kaise Close Karein?
जब भी आपका file के साथ काम खत्म हो जाए, तो उसे close करना बहुत जरूरी होता है, इसके लिए Python में
close()method दिया गया है।
file = open("data.txt", "r")
content = file.read()
print(content)
file.close()
अगर आप file को close नहीं करते, तो कई बार data properly save नहीं हो पाता (खासकर Write Mode में), और साथ ही system resources (memory) भी बेकार में इस्तेमाल होते रहते हैं।
File को बंद न करने की वजह से कभी-कभी बड़े programs में "Too many open files" जैसी errors भी आ सकती हैं, इसलिए हर बार file खोलने के बाद, उसे properly close करना ही अच्छी practice मानी जाती है।
Best Practices for File Handling in Hindi
1. Hamesha File ko Close Karein: File पर काम खत्म होते ही उसे close जरूर करें, ताकि data properly save हो सके और resources खाली हो जाएं।
2. with Statement Use Karein: Manually
close()लिखने की बजाय,withstatement इस्तेमाल करें, यह automatically file को close कर देता है (इसे अगले section में detail में समझेंगे)।3. File Exist Karti Hai Ya Nahi, Pehle Check Karein: Read Mode में file खोलने से पहले, यह जरूर check कर लें कि वह file actually exist करती है, ताकि गलती से program crash न हो।
4. Try-Except Ka Use Karein: File handling के दौरान कई तरह की errors (जैसे file न मिलना, permission न होना) आ सकती हैं, इसलिए इन्हें try-except block में handle करना एक अच्छी practice है।
5. Sahi Mode Choose Karein: हमेशा अपनी जरूरत के हिसाब से सही mode चुनें, जैसे अगर सिर्फ पढ़ना है तो 'r', अगर पुराना data बचाना है तो 'a', गलत mode चुनने से data गलती से मिट भी सकता है।
6. Bade Files ko Ek Saath Na Padhein: बहुत बड़ी files को
read()से एक साथ पूरा पढ़ने की बजाय, line-by-line पढ़ें (जैसेfor line in file:), ताकि memory पर ज्यादा दबाव न पड़े।
Advantages of Using with Statement for File Handling in Python in Hindi
अब तक हमने file को manually खोलने और बंद करने का तरीका देखा, लेकिन Python इसका एक बेहतर तरीका भी देता है –
withstatement, जिसे Context Manager भी कहा जाता है।
with open("data.txt", "r") as file:
content = file.read()
print(content)
# Yaha file automatically close ho chuki hai, kuch likhne ki zaroorat nahi
देखिए, इस बार हमें कहीं भी file.close() लिखने की जरूरत नहीं पड़ी, with block खत्म होते ही Python खुद-ब-खुद file को close कर देता है।
with Statement Ke Fayde:
1. Automatic File Closing: चाहे आप भूल जाएं या नहीं,
withstatement हमेशा file को अपने आप close कर देता है, इससे manuallyclose()लिखना भूलने का खतरा खत्म हो जाता है।2. Error Aane Par Bhi File Safely Close Hoti Hai: अगर
withblock के अंदर कहीं कोई error आ भी जाए, तब भी file properly close हो जाती है, जबकि manual तरीके में error आने परclose()तक कोड पहुंच ही नहीं पाता।3. Code Chota aur Saaf Rehta Hai: आपको try-finally जैसे extra blocks लिखने की जरूरत नहीं पड़ती, सिर्फ एक
withline में सारा काम हो जाता है।4. Resource Leak Ka Khatra Kam Hota Hai: बड़े programs में जहां कई सारी files एक साथ खुली होती हैं, वहां
withstatement यह पक्का करता है कि हर file सही समय पर close हो जाए, जिससे memory leak जैसी problems नहीं आतीं।
Manual Tarike aur with Statement Ka Comparison:
# Manual tarika (agar close() likhna bhool jayen to problem ho sakti hai)
file = open("data.txt", "r")
content = file.read()
print(content)
file.close()
# with statement wala tarika (safe aur recommended)
with open("data.txt", "r") as file:
content = file.read()
print(content)
यही वजह है कि Python में file handling करते वक्त, हमेशा manual open()-close() की बजाय, with statement इस्तेमाल करने की सलाह दी जाती है, यह न सिर्फ code को साफ बनाता है, बल्कि आपको कई common गलतियों से भी बचा लेता है।
FAQs – File Opening and Closing in Python in Hindi
Python mein file open karne ke liye open() function use hota hai, jisme filename aur mode diya jaata hai, jaise open("data.txt", "r")।
'w' mode file ke purane content ko poori tarah mita deta hai aur naya likhta hai, jabki 'a' mode purane content ko surakshit rakhte hue, naya data uske aakhir mein add kar deta hai।
File ko close karna zaroori hai taaki data properly save ho sake, system resources (memory) khali ho jaayein, aur "too many open files" jaisi errors se bacha ja sake।
with statement file ko automatically close kar deta hai, chahe code sahi se chale ya beech mein koi error aa jaaye, isse manually close() likhna bhoolne ka khatra khatam ho jaata hai।
rb aur wb modes text files ke liye nahi, balki images, videos ya PDF jaisi binary files ko padhne (rb) aur likhne (wb) ke liye use kiye jaate hain।